স্প্রিং ওআরএম (Spring ORM) হলো স্প্রিং ফ্রেমওয়ার্কের একটি মডিউল যা ডেটাবেস অপারেশনগুলোর জন্য Object Relational Mapping (ORM) সাপোর্ট প্রদান করে। ORM টুলস ব্যবহার করে ডেটাবেস ম্যানেজমেন্ট সিস্টেমের (DBMS) জটিলতা কমানো যায়। Hibernate হলো একটি জনপ্রিয় ORM টুল, যা জাভা অবজেক্ট ও ডেটাবেস টেবিলের মধ্যে ম্যাপিং সহজ করে।
স্প্রিং ফ্রেমওয়ার্ক Hibernate এর সাথে ইন্টিগ্রেশন করার জন্য বিভিন্ন টুল এবং ক্লাস সরবরাহ করে, যেমন HibernateTemplate
এবং HibernateTransactionManager
।
Hibernate ইন্টিগ্রেশনের জন্য স্প্রিং ব্যবহার করার সময় দুটি প্রধান পদ্ধতি ব্যবহার করা হয়:
Maven ব্যবহার করলে আপনার pom.xml
ফাইলে নিচের ডিপেন্ডেন্সি যোগ করতে হবে:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.x.x</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.x.x</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.x.x</version>
</dependency>
</dependencies>
Hibernate এর জন্য প্রয়োজনীয় কনফিগারেশন সম্পন্ন করার জন্য hibernate.cfg.xml
ফাইল তৈরি করতে হবে।
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/your_database</property>
<property name="hibernate.connection.username">your_username</property>
<property name="hibernate.connection.password">your_password</property>
<property name="hibernate.hbm2ddl.auto">update</property>
</session-factory>
</hibernate-configuration>
Spring Bean configuration এ SessionFactory
সেটআপ করতে হবে।
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/your_database"/>
<property name="username" value="your_username"/>
<property name="password" value="your_password"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
</props>
</property>
<property name="packagesToScan" value="com.example.models"/>
</bean>
HibernateTemplate ব্যবহার করে DAO ক্লাস তৈরি করা যায়। উদাহরণস্বরূপ:
@Repository
public class EmployeeDao {
@Autowired
private HibernateTemplate hibernateTemplate;
public void saveEmployee(Employee employee) {
hibernateTemplate.save(employee);
}
public Employee getEmployeeById(int id) {
return hibernateTemplate.get(Employee.class, id);
}
}
DAO এবং ব্যবসায়িক লজিক একত্রে পরিচালনার জন্য সার্ভিস ক্লাস ব্যবহার করা হয়:
@Service
public class EmployeeService {
@Autowired
private EmployeeDao employeeDao;
@Transactional
public void addEmployee(Employee employee) {
employeeDao.saveEmployee(employee);
}
public Employee fetchEmployee(int id) {
return employeeDao.getEmployeeById(id);
}
}
Spring Framework এবং Hibernate এর ইন্টিগ্রেশন জাভা ডেভেলপারদের জন্য ডেটাবেস অপারেশনকে সহজ করে তোলে। Hibernate এর শক্তিশালী ORM ক্ষমতা এবং Spring এর ফিচার রিচ এনভায়রনমেন্ট একত্রে ব্যবহার করে স্কেলেবল এবং মেইনটেইনেবল অ্যাপ্লিকেশন তৈরি করা সম্ভব।
Read more